ヘッダーをスキップ
Oracle TimesTen In-Memory Databaseインストレーション・ガイド
リリース7.0
E05165-01
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

TimesTen 7.0へのデータ・ストアの移行

TimesTen 7.0は、以前のリリースのTimesTenで作成したデータ・ストアを読み取ることができません。TimesTen 7.0には、ttMigrateとttBulkCpの2つの移行ユーティリティが含まれています。これらのユーティリティを使用すると、以前のリリースのTimesTenのデータ・ストアをTimesTenリリース7.0に移行できます。

これらのユーティリティについては、『Oracle TimesTen In-Memory Database APIリファレンス・ガイド』のユーティリティに関する項を参照してください。

Windowsでは、ttMigrateはODBC Driver Managerを使用します。

UNIX Platformsでは、ttMigrateユーティリティはTimesTen Data Manager ODBCドライバに直接リンクしています。

ttMigrateユーティリティの使用

ttMigrateユーティリティは、TimesTenデータ・ストアに対する表の保存およびリストアをバイナリ・データで行います。ttMigrateを使用すると、データ・ストア全体を単一のデータ・ファイルに保存することができます。データ・ファイルには、表の行、列および索引定義が含まれます。TimesTenは、新しいデータ・ストアに表をリストアする際に、表の索引もリストアします。


注意: ttMigrateユーティリティでは、異なるハードウェア・プラットフォーム間でデータ・ストアを移行することはできません。たとえば、Windowsのデータ・ストアをSolarisデータ・ストアに移行することはできません。また、ttMigrateのリリースは、コピー元またはコピー先となるデータ・ストアのリリースと一致している必要があります。この項の例では、以前のリリースのttMigrateを使用して元のデータ・ストアの表をディスク・ファイルに保存し、新しいリリースのttMigrateを使用して新しいデータ・ストアの表にファイルを移行します。

ttMigrateの構文および使用方法については、『Oracle TimesTen In-Memory Database APIリファレンス・ガイド』のユーティリティに関する項を参照してください。

異なるバージョンのデータ・ストアを移行するには、次の手順を実行します。

  1. ttMigrateを使用して、以前のバージョンのデータ・ストアにある表をディスク・ファイルに保存します。
  2. たとえば、次のような場合を想定します。

    • Sales600というTimesTen 4.5のデータ・ストアがあります。
    • 使用するデータ・ファイルはsales.datです。
    • TimesTen 6.0が/opt/TimesTen60(UNIX Platformsの場合)またはC:\TimesTen\TimesTen60(Windowsの場合)にインストールされているとします。
    • Windowsでは、次のように指定します。

      C:\ > "C:\TimesTen\tt60\bin\ttMigrate"
      -c DSN=Sales600 sales.dat

      UNIXでは、次のように指定します。

      % /opt/tt60/32/bin/ttMigrate -c DSN=Sales600
      sales.dat

  3. ttMigrateを使用して、保存した表を新しいデータ・ストアにリストアします。
  4. TimesTen 7.0のデータ・ストア用にSalestt70という新しいデータ・ソース名を作成し、6.0のデータ・ストアをインポートします。
  5. たとえば、次のような場合を想定します。

    • TimesTen 7.0が/opt/TimesTen/tt70(UNIX Platformsの場合)またはC:\TimesTen\tt70(Windowsの場合)にインストールされているとします。
    • Windowsでは、次のように指定します。

      C:\ > "C:\TimesTen\tt70\bin\ttMigrate" -r DSN=Salestt70 sales.dat

      UNIXでは、次のように指定します。

      % /opt/TimesTen/tt70/bin/ttMigrate -rx DSN=Salestt70 sales.dat

ttBulkCpユーティリティの使用

ttBulkCpユーティリティは、TimesTenデータ・ストアとASCIIファイル間で表データのコピーを実行します。ttBulkCpが使用するデータ・ファイルには、単一の表の行のみを含めることができます。また、表の列および索引定義は格納されません。このため、ttBulkCpを使用して、あるTimesTenデータ・ストアから別のデータ・ストアに移行する場合は、まず新しいデータ・ストアに表と索引を手動で作成する必要があります。その後で、ttBulkCpを使用して、元のデータ・ストアから新しいデータ・ストアに行をコピーします。ttBulkCpの構文と使用方法については、『Oracle TimesTen In-Memory Database APIリファレンス・ガイド』のユーティリティに関する項を参照してください。


注意: ttBulkCpのリリースは、コピー元またはコピー先となるデータ・ストアのリリースと一致している必要があります。この例では、リリース6.0のttBulkCpを使用してディスク・ファイルに表を保存し、リリース7.0のttIsqlおよびttBulkCpを使用して新しいデータ・ストアの表にディスク・ファイルをコピーします。

TimesTen6.0で作成したデータ・ストアからデータをインポートするには、次の手順を実行します。

  1. 新しいリリースのTimesTenにコピーする表をすべて特定します。
  2. TimesTenユーティリティttBulkCpを使用して、それぞれの表のデータをディスク・ファイルにコピーします。
  3. 新しいデータ・ストアのデータ・ソース名を定義します。
  4. ttIsqlでCREATE TABLEとCREATE INDEXコマンドを使用して、インポートするそれぞれの表と索引を再作成します。
  5. TimesTenユーティリティttBulkCpを使用して、ディスク・ファイルの内容を新しいデータ・ストアの表にコピーします。たとえば、次の場合を想定してみます。
    • リリース6.0が/opt/TimesTen6.0/32に、リリース7.0が/opt/TimesTen/tt70にインストールされているとします。
    • リリース6.0のユーザーDSNはsource600、リリース7.0のユーザーDSNはsource_tt70であるとします。
    • ユーザー表と索引を作成するcreate.sqlというttIsqlスクリプトがあります。または、ttSchemaユーティリティを使用して、オブジェクトの作成に必要なSQL文を作成します。
    • source600の表ABLEおよびBAKERをsource_tt70に移行するとします。
    • このような場合に、表をディスク・ファイルにコピーするには、次のコマンドを実行します。

      % /opt/tt60/32/bin/ttBulkCp -o
             DSN=source600 able able.save

      % /opt/tt60/32/bin/ttBulkCp -o
             DSN=source600 baker baker.save

      次に、TimesTen 7.0データ・ストア用にsource_tt70という新しいデータ・ソース名を作成して、次のコマンドを実行します。

      % /opt/TimesTen/tt70/bin/ttIsql -connStr
             DSN=source_tt70 -f create.sql

      % /opt/TimesTen/tt70/bin/ttBulkCp -i
             DSN=source_tt70 able able.save

      % /opt/TimesTen/tt70/bin/ttBulkCp -i
             DSN=source_tt70 baker baker.save